%
% ---------------------------------------------------
%
% Authors: Luis Marino Cerrudo - Néstor González López
% Director: Leopoldo Acosta <correo>
% Fichero: main.tex
% 09.Noviembre.2012
%
% ----------------------------------------------------
\documentclass[12pt,a4paper]{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Next 3+3 lines select PDF or PS output (comment as apropriate)
% To switch from PDF and PS comment/uncomment here and change Makefile
\usepackage[pdftex]{color}
\usepackage[pdftex]{graphicx}
\graphicspath{{images/}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{subfigure}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{amsmath}         % BGD: Para el boxed de las fórmulas matemáticas
\usepackage{indentfirst}	    % BGD: Indenta el primer párrafo 
\usepackage[pdftex=true,colorlinks=true,urlcolor=blue,urlcolor=blue]{hyperref} 
% Paquete para la cabecera y pié de página.
\usepackage{fancyhdr}
\pagestyle{fancy} % seleccionamos un estilo


\begin{document}

% Portada
\begin{titlepage}
\centerline{\Huge \bf{Manual de Usuario del Portal LongBow}}

\vspace{4cm}
\centerline{\includegraphics[height=7cm]{logoLongBow}}
\vspace{0.5cm}

\vspace{2cm}


\vspace{4cm}
\begin{flushright}
\begin{minipage}{8cm}
{\bf Luis Cerrudo Concepción y Néstor González López}

\vspace{0.3cm}
\noindent{\small LA LAGUNA, a \today}
\end{minipage}
\end{flushright}

\end{titlepage}

% Índice
\markboth{Índice}{}
\tableofcontents
\newpage 
% Índice de figuras
\markboth{Índice de figuras}{}
\listoffigures

\newpage
\section{Introducci\'on}

El prop\'osito del presente proyecto de fin de carrera es el ofrecer un portal web al usuario donde pueda interactuar con \textit{Servos} utilizando el controlador \textit{Open Source OpenServo} (proyecto cuyo objectivo es la creaci\'on de servos de bajo costo para su uso en rob\'otica). \textit{OpenServo} es una combinaci\'on de \textit{software} y \textit{hardware} destinado a reemplazar el circuito impreso (PCB, \textit{printed circuit board}) de los servos anal\'ogicos.\\

El proyecto \textbf{LongBow} proporciona al usuario la posibilidad de controlar el dispositivo \textit{OpenServo} de manera remota, pudiendo observar el efecto producido en el servo simplemente observando las im\'agenes de video ofrecidas a trav\'es del portal web. El objetivo del proyecto es permitir a los usuarios introducirse en el mundo de la rob\'otica y de los servos digitales, ofreciendo un portal web donde puedan realizar diversas pruebas y analizar resultados.\\

En este manual se describe tanto el proceso para darse de alta en el portal como nuevo usuario, así como también, las opciones disponibles para los usuarios registrados en el portal, por ejemplo, realizar una reserva temporal, reservar el recurso dentro de una reserva o el uso del dispositivo.\\

A continuaci\'on se muestran las opciones disponibles para un usuario registrado:
\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{opcionesUsuario.png}	
	\end{center}
	\caption[Opciones Usuarios Registrados]{Opciones de Usuarios}
\end{figure}


\newpage

\section{Creaci\'on de un usuario}

Una vez se ha accedido al Portal Web \href{http://www.wikibooks.org}{LongBow} se muestra una introducci\'on sobre el prop\'osito y objetivos de la aplicaci\'on as\'i como las opciones disponibles.

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.35]{portalLongBow.png}	
	\end{center}
	\caption[Portal Web LongBow]{Web LongBow}
\end{figure}

C\'omo se puede apreciar en la figura, en el men\'u lateral que se encuentra a la izquierda dispone de las siguientes opciones:

\begin{itemize}
	\item \textit{Acceso}
	\item \textit{\textbf{Registo}}
	\item \textit{Ayuda}
\end{itemize}

\textbf{Nota:} \textit{La opci\'on de \textbf{Ayuda} abre este documento.}

\newpage

En caso de estar registrado ya en la aplicaci\'on se selecciona la opci\'on \textit{Acceso} y, tras introducir el nombre de usuario y contraseña, entrar\'a al portal.\\


En caso contrario, se deber\'a dar de alta en la aplicaci\'on, pulsando en la opci\'on \textit{Registro}. Tras pulsar dicha opci\'on se presentar\'a un formulario donde se le pedir\'an una serie de datos que deber\'a de introducir para completar el alta.

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{registroUser.png}	
	\end{center}
	\caption[Portal Web LongBow Registro]{Registro de Usuarios}
\end{figure}

Finalizado el registro de usuario, puede proceder a entrar en el portal mediante la opci\'on \textit{\textbf{Acceder}}, introduciendo su nombre de usuario y contraseña. Tambi\'en recibir\'a un correo electr\'onico de bienvenida en la direcci\'on de correo que ha introducido al cumplimentar los datos para el alta.\\

\newpage

\section{Generar \textbf{Contraseña}}

En el caso de que un usuario registrado olvide su contraseña de acceso al portal \textit{LongBow}, tiene la opci\'on de generar una nueva contraseña. Para ello tiene que pulsar en la opci\'on \textit{Acceso} y una vez dentro, pulsar en el enlace que se muestra en la siguiente pantalla:

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{generarPass.png}	
	\end{center}
	\caption[Enlace nueva contraseña]{Cambiar contraseña}
\end{figure}

Una vez pulsado dicho enlace, se accede a un formulario en el cual se debe introducir el correo electr\'onico del usuario del cual se quiere modificar la contraseña. Es muy importante que el correo introducido coincida con el que el usuario introdujo en el registro, pues en caso contrario, no podr\'a modificar la contraseña. Adem\'as el correo electr\'onico introducido debe existir en la base de datos de la aplicaci\'on.

A continuaci\'on se muestra el formulario:
\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{resetPass.png}	
	\end{center}
	\caption[Formulario correo nueva contraseña]{Correo para env\'io de instrucciones}
\end{figure}

Una vez introducido el correo, la aplicaci\'on enviar\'a las intrucciones que debe seguir para modificar la contraseña. Dichas instrucciones contienen un enlace hacia el formulario para modificar la contraseña, una vez introducido la nueva se aplicar\'an los cambios y podr\'a acceder al portal. 
A continuaci\'on se muestra una imagen del formulario para la nueva contraseña:

A continuaci\'on se muestra el formulario:
\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{nuevaPass.png}	
	\end{center}
	\caption[Formulario nueva contraseña]{Nueva contraseña}
\end{figure}

\newpage

\section{Opciones \textbf{Perfil}}

En este grupo de opciones el usuario puede modificar los datos introducidos en el formulario de registro. Las opciones disponibles son las siguientes:
\begin{itemize}
	\item Editar Perfil
	\item Cambiar contraseña
\end{itemize}

\subsection{Editar Perfil}

En esta opci\'on el usuario puede modificar todos los datos introducidos en el formulario de registro, a excepci\'on de la contraseña. Adem\'as de los datos introducidos en el formulario de alta se muestran tambi\'en la fecha de alta del usuario y la fecha de la \'ultima modificaci\'on de los mismos. Estos campos no son editables, s\'olo se muestran c\'omo informaci\'on adicional.

A continuaci\'on se muestra el formulario para editar el perfil:

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{editPerfil.png}	
	\end{center}
	\caption[Editar Perfil]{Editar Perfil}
\end{figure}

\newpage

\subsection{Cambiar contraseña}

Esta opci\'on permite al usuario modificar su contraseña. Para que se permita modificar la contraseña, el usuario tiene que introducir la actual antes de poder poner la nueva, de esta forma se asegura que el usuario que est\'a delante de la aplicaci\'on es el mismo usuario que es propietario de la cuenta.

A continuaci\'on se muestra el formulario para modificar la contraseña;

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{cambiarPass.png}	
	\end{center}
	\caption[Cambiar contraseña usuario]{Cambiar contraseña}
\end{figure}

\newpage

\section{Opciones \textbf{Reserva}}

En este grupo de opciones se encuentran aquellas que permiten al usuario realizar las diferentes reservas tanto temporales como del recurso para su uso. Tambi\'en tiene disponible un historial de las reservas realizadas, donde pueden acceder a los datos almacenados por el uso el recurso. 
Las opciones disponibles son las siguientes:

\begin{itemize}
	\item Crear una reserva
	\item Ver reservas
	\item Reserva de horas
\end{itemize}

\subsection{Crear una reserva}

Esta opci\'on permite al usuario fijar un horizonte temporal para realizar reservas del recurso. En principio este horizonte temporal esta fijado a 30 d\'ias, pudiendo ser modificado en cualquier momento por los administradores de la aplicaci\'on. En el formulario para realizar la reserva se muestran los par\'ametros de configuraci\'on de la misma:
\begin{itemize}
	\item \textit{Horizonte Temporal}
	\item \textit{Número de Horas}
\end{itemize}

A continuaci\'on se muestra una imagen del formulario para reservar un horizonte temporal:

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{booking.png}	
	\end{center}
	\caption[Reserva Horizonte Temporal]{Reserva Horizonte Temporal}
\end{figure}

El único campo editable es el de \textit{Fecha Inicial}, el cual muestra un calendario y aplica el valor del campo \textit{Horizonte Temporal} para calcular la fecha final de la reserva.

\subsection{Ver reservas}

Esta opci\'on muestra un listado con el historial de las reservas de horizonte temporal realizadas por el usuario. Tambi\'en se muestra si est\'an o no activas, indicando al usuario si puede realizar una nueva reserva \textbf{(*)}. 

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{listBooking.png}	
	\end{center}
	\caption[Lista de Reservas]{Lista de Reservas}
\end{figure}

\textbf{(*)Nota:} \textit{El n\'umero m\'aximo de reservas activas es uno.}
\\

La opci\'on \textit{Ver} muestra los datos de la reserva junto a la lista de las horas reservadas para el uso del recurso. En esta lista, aquellas sesiones en las que se almacenaron datos, se da la posibilidad que el usuario vuelva a acceder a esos datos.

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.3]{verBooking.png}	
	\end{center}
	\caption[Ver Reservas]{Ver datos reserva}
\end{figure}

Esos datos se presentan en una lista al igual que las reservas y las horas reservadas, donde la opci\'on detalle muestra la gr\'afica obtenida al introducir los datos que figuran en los registros.

\newpage

\subsection{Reserva de Horas}

Esta opci\'on permite al usuario realizar la reserva de una hora para el uso del recurso. Esta opci\'on s\'olo est\'a disponible si el usuario tiene una reserva de horizonte temporal activa. En ese caso, al pulsar en dicha opci\'on se muestra un calendario con los d\'ias disponibles para poder realizar las reservas (aquellos d\'ias desde el actual hasta la fecha de finalizaci\'on de la misma).
Tambi\'en se muestra las horas disponibles para realizar reservas as\'i como una lista de las reservas ya realizadas. 

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.3]{hour.png}	
	\end{center}
	\caption[Reserva de Horas]{Reserva de Horas}
\end{figure}

Para realizar una reserva se tiene que seleccionar uno de los d\'ias disponibles en el calendario y a continuaci\'on en una ventana emergente aparecer\'an las horas disponibles en ese d\'ia. 

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.3]{horasDisponibles.png}	
	\end{center}
	\caption[Horas disponibles]{Horas disponibles}
\end{figure}

Los colores que aparecen en las horas tienen el siguiente significado:
\begin{itemize}
	\item \textbf{Gris:} \textit{La hora no est\'a disponible para la reserva porque est\'a pasada de fecha.}
	\item \textbf{Rojo:} \textit{La hora est\'a reservada.}
	\item \textbf{Azul:} \textit{La hora est\'a disponible.}
\end{itemize}

\textbf{Nota:} No se puede reservar la hora en la que se encuentra el usuario si han transcurrido diez o m\'as minutos del comienzo de la misma.

\newpage

\section{Opciones \textbf{Mensajes}}

En este grupo de opciones se encuentran aquellas que permiten al usuario comunicarse con los administradores de la aplicaci\'on, ya sea para pedir m\'as horas dentro de un horizonte temporal o informar de alg\'un problema. Tambi\'en el usuario puede ver la lista de mensajes recibidos, manteniendo as\'i un historial de notificaciones.

Las opciones disponibles en este grupo son:
\begin{itemize}
	\item Enviar mensaje
	\item Ver todos los mensajes
	\item Probar c\'amara \textbf{(*)Nota:} \textit{Enlace provisional}
\end{itemize}

\subsection{Enviar mensaje}

Esta opci\'on muestra un formulario que permite al usuario enviar notificaciones a los administradores web de la aplicaci\'on. Este mensaje es replicado y se env\'ia tambi\'en c\'omo correos electr\'onicos a dichos administradores. 

A continuaci\'on se muestra una im\'agen del formulario para enviar mensajes:

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.3]{enviarMsg.png}	
	\end{center}
	\caption[Enviar mensajes a los administradores]{Enviar mensaje}
\end{figure}

\newpage

\subsection{Ver todos los mensajes}

Esta opci\'on muestra la lista de mensajes recibidos por un usuario. En dicha lista se muestra la informaci\'on m\'as relevante, como el asunto del mismo o si este ha sido o no le\'ido.

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.3]{listMsg.png}	
	\end{center}
	\caption[Lista de Mensajes recibidos]{Lista de mensajes}
\end{figure}
 
Las opciones de las que dispone el usuario son las siguientes:
\begin{itemize}
	\item \textit{Leer:} Muestra el contenido del mensaje.
	\item \textit{Eliminar:} Elimina los mensajes seleccionados meditante los \textit{checkbox}.
\end{itemize}

\subsection{Probar c\'amara (Enlace Provisional)}

Esta opci\'on, siempre y cuando el usuario tenga una hora reservada, da acceso al formulario para enviar datos al dispositivo \textit{OpenServo}. Tambi\'en se muestra un \textit{iframe} que contiene las im\'agenes del Servo, env\'iadas a trav\'es de una c\'amara web,  para poder observar el efecto producido por las ordenes introducidas en el formulario.

\begin{figure}[h] 
	\begin{center}
		\includegraphics[scale=0.5]{openServoForm.png}	
	\end{center}
	\caption[Formulario OpenServo]{Formulario OpenServo}
\end{figure}

Cuando un usuario env\'ia los datos introducidos en el formulario, el resultado de la ejecuci\'on genera una gr\'afica. El usuario al visualizar dicha gr\'afica puede optar por almacenar los datos obtenidos, junto a la gr\'afica. Esto es importante porque al realizar dicha acci\'on, la hora autom\'aticamente pasa a ser considerada como \textbf{consumida}.

Cuando una hora es considerada como \textbf{consumida}, si se cierra la sesi\'on, el usuario no podr\'a volver a acceder al dispositivo, aunque todav\'ia falte tiempo para que se termine la reserva.

\section{Otras opciones}

En este grupo se encuentran las siguientes opciones:
\begin{itemize}
	\item Ayuda: Enlace hacia este manual.
	\item Logout: Cierra la sesi\'on actual.
\end{itemize}


\section{Preguntas Frequentes (F.A.Q.)}

\begin{enumerate}
	\item \textbf{¿Puedo tener m\'as de una reserva activa?}\\
	No, el m\'aximo n\'umero de reservas activas por usuario es uno.
	\item \textbf{¿Puedo tener m\'as horas disponibles para reservas en un horizonte temporal?}\\
	Utilizando la opci\'on \textit{Enviar mensajes}, puede comunicar el n\'umero de horas extras deseado y el administrador web aplicar\'a dicha petici\'on si se cree conveniente.
	\item \textbf{¿Puedo acceder a datos de sesiones anteriores?}\\
	En la opci\'on \textit{Ver Reservas} se le muestra la lista de horizontes temporales utilizados. Puede acceder a los datos de la misma, viendo tanto las horas reservadas como los datos almacenados en las mismas.
	\item \textbf{He olvidado mi contraseña. ¿Puedo recuperarla?}\\
	Realmente no puede recuperar la contraseña en caso de olvido, pero puede introducir una nueva, pulsando en la opci\'on \textit{Acceso} y luego en el enlace disponible debajo del bot\'on \textit{Acceder}.
	\item \textbf{¿Puedo cancelar un horizonte temporal?}\\
	S\'olo puede cancelar este tipo de reservas si es un administrador web. En caso de que desee cancelar dicha reserva o cambiar las fechas de la misma, puede contactar con los administradores a trav\'es de la opci\'on \textit{Enviar mensajes}.
	\item \textbf{¿Puedo cancelar una hora reservada}\\
	S\'olo si la hora est\'a reservada para una fecha futura, distinta del d\'ia act\'ual.
	\begin{enumerate}
		\item \textbf{¿En tal caso, c\'omo se proceder\'ia a cancelar dicha reserva?}\\
	Accediendo a trav\'es de la opci\'on \textit{Ver Reservas} y seleccionando la opci\'on Ver de dicha reserva. Se mostrar\'an los datos de la misma junto a las horas reservadas, aquellas que se puedan cancelar mostrar\'an dicha opci\'on.
	\end{enumerate}	
\end{enumerate}
\end{document}
